package com.tianshu.system.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.tianshu.base.BaseEntity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 主申请表
 * </p>
 *
 * @author liaojie
 * @since 2021-11-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_apply_main")
public class TApplyMain extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    private Integer id;

    /**
     * 机构号
     */
    private String bankCode;

    /**
     * 代码版本
     */
    private String version;

    /**
     * 创建人
     */
    private String createUserId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    private String updateUserId;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 证件号
     */
    private String custId;

    /**
     * 姓名
     */
    private String custName;

    /**
     * 电话
     */
    private String phone;

    /**
     * 卡号
     */
    private String cardNo;

    /**
     * 卡片开户行
     */
    private String cardBankName;

    /**
     * 卡片银行号
     */
    private String cardBankCode;

    /**
     * 申请件状态
     */
    private String applyStatus;

    /**
     * 条码号：标识码2位+8位日期yyyyMMdd+6位流水号
     */
    private String applyNo;

    /**
     * 性别：F-男，M-女
     */
    private String sex;

    /**
     * 婚姻状况（未婚，已婚，离异）
     */
    private String marrige;

    /**
     * 学历（高中及以下，大专，本科，硕士，博士及以上）
     */
    private String edu;

    /**
     * 家庭年收入
     */
    private BigDecimal familyIncome;

    /**
     * 居住地址
     */
    private String homeAddr;

    /**
     * 单位名称
     */
    private String comName;

    /**
     * 单位地址
     */
    private String comAddr;

    /**
     * 紧急联系人姓名
     */
    private String emergencyContactName;

    /**
     * 紧急联系人电话
     */
    private String emergencyContactTel;

    /**
     * 申请金额
     */
    private BigDecimal applyAmount;

    /**
     * 通讯地址（H:住宅，C:单位）
     */
    private String commType;

    /**
     * 审批额度
     */
    private BigDecimal approvalAmount;

    private String approvalCode;

    /**
     * 申请时间
     */
    private LocalDateTime applyTime;

    /**
     * 审核结果
     */
    private String approvalResult;

    /**
     * 审批时间
     */
    private LocalDateTime approvalTime;

    /**
     * 产品利率
     */
    private BigDecimal rate;

    /**
     * 还款方式
     */
    private String payWay;

    /**
     * 工作年限
     */
    private Integer workYear;

    /**
     * 职务
     */
    private String jobTitle;

    /**
     * 月收入
     */
    private BigDecimal monthlyIncome;

    private String accountManagerId;

    /**
     * 经办网点
     */
    private String branchCode;

    /**
     * 期数
     */
    private Integer periods;

    /**
     * 系统审批时间
     */
    private LocalDateTime autoApprovalTime;

    /**
     * 子女情况
     */
    private String childrenSituation;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 单位类型
     */
    private String comType;

    /**
     * 职级
     */
    private String jobLevel;

    /**
     * 经营年限
     */
    private String manageYear;

    /**
     * 经营类型
     */
    private String manageType;

    /**
     * 经营地址
     */
    private String managePlace;

    /**
     * 月平均支出
     */
    private Integer monthlyAvgExpen;

    /**
     * 直系亲属名称
     */
    private String immediateFamilyName;

    /**
     * 直系亲属电话
     */
    private String immediateFamilyTel;

    /**
     * 联系人身份证号
     */
    private String immediateFamilyId;

    /**
     * 产品代码
     */
    private String productCode;

    /**
     * 渠道
     */
    private String channel;

    /**
     * 申请类型
     */
    private String applyType;

    /**
     * 最近一次补传的时间
     */
    private LocalDateTime lastAddDataTime;

    /**
     * 申请渠道
     */
    private String applyChannel;

    /**
     * 客群代码
     */
    private String kequnCode;

    /**
     * 证件类型
     */
    private String custType;

    /**
     * 申请网点
     */
    private String applyBranch;

    /**
     * 贷款用途
     */
    private String loanFor;

    /**
     * 单位电话
     */
    private String comTel;

    /**
     * 职务
     */
    private String comDuty;

    /**
     * 单位地址省份
     */
    private String comProv;

    /**
     * 单位地址市
     */
    private String comCity;

    /**
     * 单位地址区
     */
    private String comArea;

    private String comStreet;

    /**
     * 居住状态
     */
    private String homeState;

    /**
     * 住宅地址省份
     */
    private String homeProv;

    /**
     * 住宅地址市
     */
    private String homeCity;

    private String homeStreet;

    /**
     * 住宅地址区
     */
    private String homeArea;

    /**
     * 通讯地址
     */
    private String telAddr;

    /**
     * 亲属关系
     */
    private String immediateFamilyRelation;

    /**
     * 提供房产数量
     */
    private String offerHouseNum;

    /**
     * 提供房产总价值
     */
    private String offerHousePrice;

    /**
     * 提供车产数量
     */
    private String offerCarNum;

    /**
     * 提供车产总价值
     */
    private String offerCarPrice;

    /**
     * 其他财力总价值
     */
    private String offerOtherPrice;

    /**
     * 保证人数量
     */
    private String guarantorNum;

    /**
     * 担保公司名称
     */
    private String guaranteeCom;

    /**
     * 是否具备担保资格
     */
    private String isGuaranteeAptitude;

    /**
     * 抵押物类型
     */
    private String mortgageType;

    /**
     * 抵押物数量
     */
    private String mortgageNum;

    /**
     * 抵押物地址
     */
    private String mortgageAddrJson;

    /**
     * 户籍地址省份
     */
    private String censusRegisterProv;

    /**
     * 户籍地址市
     */
    private String censusRegisterCity;

    /**
     * 户籍地址区
     */
    private String censusRegisterArea;

    /**
     * 户籍详细地址
     */
    private String censusRegisterAddr;

    /**
     * 紧急联系人关系
     */
    private String emergencyContactRelation;

    /**
     * 紧急联系人工作单位
     */
    private String emergencyContactWork;

    /**
     * 亲属工作单位
     */
    private String immediateFamilyWork;

    /**
     * 行业大类
     */
    private String hangyeBigType;

    /**
     * 行业小类
     */
    private String hangyeSmallType;

    /**
     * 行业风险等级
     */
    private String hangyeRisk;

    /**
     * 年龄
     */
    private String age;

    /**
     * 月净现金流
     */
    private String monthlyCashFlow;

    /**
     * 客户来源
     */
    private String customerSource;

    /**
     * 客户关系
     */
    private String customerRelation;

    /**
     * 二维码所属客户经理工号
     */
    private String referrerCode;

    /**
     * 客户经理占比
     */
    private String managePro;

    /**
     * 推荐人占比
     */
    private String referrerPro;

    /**
     * 外访建议
     */
    private String manageOpinion;

    /**
     * 家庭总资产
     */
    private String totalAssets;

    /**
     * 其他负债
     */
    private String otherDebts;

    /**
     * 家庭总负债
     */
    private String totalDebts;

    /**
     * 资产负债率
     */
    private String debtToAssets;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 推荐人工号
     */
    private String recommendCode;

    /**
     * 推荐人工号
     */
    private Boolean allowRetrial;

    /**
     * 多个客群代码
     */
    private String kequnCodeList;

    /**
     * 是否实名（Y-是，N-否）
     */
    private String realNameFlag;

    /**
     * 居住状态：按揭住房，全款商品房，自建房，与亲属合住，租房，其他
     */
    private String liveHouseType;

    /**
     * 同意银行卡协议
     */
    private Boolean agreeBankCardAgre;

    /**
     * 开卡协议存放地址
     */
    private String bankCardAgrePath;

    /**
     * 银行卡初始密码
     */
    private String bankCardInitPassword;

    /**
     * 选择的银行卡id
     */
    private Integer bankCardId;

    /**
     * 是否同意银行征信协议
     */
    private String agreeCreditQueryAgre;

    /**
     * 是否同意贷款协议
     */
    private String agreeApplyAgre;

    /**
     * 贷款协议存放地址
     */
    private String applyAgrePath;

    /**
     * 是否需要补充资料
     */
    private String isNeedMoreData;

    /**
     * 补传身份证状态--0：无需上传 1：等待上传 2：已经上传
     */
    private Integer addDataCardState;

    /**
     * 补传银行卡状态
     */
    private Integer addDataBankState;

    /**
     * 补传其它信息状态
     */
    private Integer addDataOtherState;

    /**
     * App用户ID
     */
    private Integer appUserId;

    /**
     * 用户提交的步骤
     */
    private Boolean step;

    /**
     * 银行卡模块选用- 0：选用之前的卡  1：上传新的卡片 2：开通新的卡片
     */
    private Boolean useCardType;

    /**
     * 是否签署借款协议
     */
    private String hasSignApplyAgre;

    /**
     * 是否签署银行卡协议
     */
    private String hasSignBankCardAgre;

    /**
     * 是否提供房产 - Y：是，N：否
     */
    private String isOfferHouse;

    /**
     * 是否提供车产
     */
    private String isOfferCar;

    /**
     * 是否提供其他财力证明
     */
    private String isOfferOtherProve;

    /**
     * 人行总负债
     */
    private Integer loansCreditDebts;

    /**
     * 对外担保金额
     */
    private Integer guaranteeAccounts;

    /**
     * 信用类负债
     */
    private Integer creditDebts;

    /**
     * 贷款余额
     */
    private Integer loanDebts;

    /**
     * 人行总负债(配偶)
     */
    private Integer spouseLoansCreditDebts;

    /**
     * 信用类负债(配偶)
     */
    private Integer spouseCreditDebts;

    /**
     * 贷款余额(配偶)
     */
    private Integer spouseLoanDebts;

    /**
     * 对外担保金额(配偶)
     */
    private Integer spouseGuaranteeAccounts;

    /**
     * 允许重审，Y 允许重审，N 不允许重审
     */
    private String isRetrial;

    /**
     * 推荐人信息
     */
    private String referrerInformation;

    /**
     * 分数
     */
    private Integer grade;

    /**
     * 客户经理评价
     */
    private String appraise;

    /**
     * 网点选择：0没选，1优选
     */
    private Integer chooseBranch;

    /**
     * 管户客户经理工号
     */
    private String custMgrId;

    /**
     * 管户客户经理姓名
     */
    private String custMgrName;

    /**
     * 页面显示直接面签
     */
    private Boolean isFace;

    /**
     * 任务件类型 0普通,1重审件
     */
    private String taskType;

    /**
     * 提额备注
     */
    private String raiseAmountRemark;

    /**
     * 激活状态：0 没有，1 激活
     */
    private Integer actStatus;

    /**
     * 推荐额度
     */
    private BigDecimal recommendAmount;

    /**
     * 重审原因
     */
    private String reiterateReason;


    public static final String ID = "id";

    public static final String BANK_CODE = "bank_code";

    public static final String VERSION = "version";

    public static final String CREATE_USER_ID = "create_user_id";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER_ID = "update_user_id";

    public static final String UPDATE_TIME = "update_time";

    public static final String CUST_ID = "cust_id";

    public static final String CUST_NAME = "cust_name";

    public static final String PHONE = "phone";

    public static final String CARD_NO = "card_no";

    public static final String CARD_BANK_NAME = "card_bank_name";

    public static final String CARD_BANK_CODE = "card_bank_code";

    public static final String APPLY_STATUS = "apply_status";

    public static final String APPLY_NO = "apply_no";

    public static final String SEX = "sex";

    public static final String MARRIGE = "marrige";

    public static final String EDU = "edu";

    public static final String FAMILY_INCOME = "family_income";

    public static final String HOME_ADDR = "home_addr";

    public static final String COM_NAME = "com_name";

    public static final String COM_ADDR = "com_addr";

    public static final String EMERGENCY_CONTACT_NAME = "emergency_contact_name";

    public static final String EMERGENCY_CONTACT_TEL = "emergency_contact_tel";

    public static final String APPLY_AMOUNT = "apply_amount";

    public static final String COMM_TYPE = "comm_type";

    public static final String APPROVAL_AMOUNT = "approval_amount";

    public static final String APPROVAL_CODE = "approval_code";

    public static final String APPLY_TIME = "apply_time";

    public static final String APPROVAL_RESULT = "approval_result";

    public static final String APPROVAL_TIME = "approval_time";

    public static final String RATE = "rate";

    public static final String PAY_WAY = "pay_way";

    public static final String WORK_YEAR = "work_year";

    public static final String JOB_TITLE = "job_title";

    public static final String MONTHLY_INCOME = "monthly_income";

    public static final String ACCOUNT_MANAGER_ID = "account_manager_id";

    public static final String BRANCH_CODE = "branch_code";

    public static final String PERIODS = "periods";

    public static final String AUTO_APPROVAL_TIME = "auto_approval_time";

    public static final String CHILDREN_SITUATION = "children_situation";

    public static final String EMAIL = "email";

    public static final String COM_TYPE = "com_type";

    public static final String JOB_LEVEL = "job_level";

    public static final String MANAGE_YEAR = "manage_year";

    public static final String MANAGE_TYPE = "manage_type";

    public static final String MANAGE_PLACE = "manage_place";

    public static final String MONTHLY_AVG_EXPEN = "monthly_avg_expen";

    public static final String IMMEDIATE_FAMILY_NAME = "immediate_family_name";

    public static final String IMMEDIATE_FAMILY_TEL = "immediate_family_tel";

    public static final String IMMEDIATE_FAMILY_ID = "immediate_family_id";

    public static final String PRODUCT_CODE = "product_code";

    public static final String CHANNEL = "channel";

    public static final String APPLY_TYPE = "apply_type";

    public static final String LAST_ADD_DATA_TIME = "last_add_data_time";

    public static final String APPLY_CHANNEL = "apply_channel";

    public static final String KEQUN_CODE = "kequn_code";

    public static final String CUST_TYPE = "cust_type";

    public static final String APPLY_BRANCH = "apply_branch";

    public static final String LOAN_FOR = "loan_for";

    public static final String COM_TEL = "com_tel";

    public static final String COM_DUTY = "com_duty";

    public static final String COM_PROV = "com_prov";

    public static final String COM_CITY = "com_city";

    public static final String COM_AREA = "com_area";

    public static final String COM_STREET = "com_street";

    public static final String HOME_STATE = "home_state";

    public static final String HOME_PROV = "home_prov";

    public static final String HOME_CITY = "home_city";

    public static final String HOME_STREET = "home_street";

    public static final String HOME_AREA = "home_area";

    public static final String TEL_ADDR = "tel_addr";

    public static final String IMMEDIATE_FAMILY_RELATION = "immediate_family_relation";

    public static final String OFFER_HOUSE_NUM = "offer_house_num";

    public static final String OFFER_HOUSE_PRICE = "offer_house_price";

    public static final String OFFER_CAR_NUM = "offer_car_num";

    public static final String OFFER_CAR_PRICE = "offer_car_price";

    public static final String OFFER_OTHER_PRICE = "offer_other_price";

    public static final String GUARANTOR_NUM = "guarantor_num";

    public static final String GUARANTEE_COM = "guarantee_com";

    public static final String IS_GUARANTEE_APTITUDE = "is_guarantee_aptitude";

    public static final String MORTGAGE_TYPE = "mortgage_type";

    public static final String MORTGAGE_NUM = "mortgage_num";

    public static final String MORTGAGE_ADDR_JSON = "mortgage_addr_json";

    public static final String CENSUS_REGISTER_PROV = "census_register_prov";

    public static final String CENSUS_REGISTER_CITY = "census_register_city";

    public static final String CENSUS_REGISTER_AREA = "census_register_area";

    public static final String CENSUS_REGISTER_ADDR = "census_register_addr";

    public static final String EMERGENCY_CONTACT_RELATION = "emergency_contact_relation";

    public static final String EMERGENCY_CONTACT_WORK = "emergency_contact_work";

    public static final String IMMEDIATE_FAMILY_WORK = "immediate_family_work";

    public static final String HANGYE_BIG_TYPE = "hangye_big_type";

    public static final String HANGYE_SMALL_TYPE = "hangye_small_type";

    public static final String HANGYE_RISK = "hangye_risk";

    public static final String AGE = "age";

    public static final String MONTHLY_CASH_FLOW = "monthly_cash_flow";

    public static final String CUSTOMER_SOURCE = "customer_source";

    public static final String CUSTOMER_RELATION = "customer_relation";

    public static final String REFERRER_CODE = "referrer_code";

    public static final String MANAGE_PRO = "manage_pro";

    public static final String REFERRER_PRO = "referrer_pro";

    public static final String MANAGE_OPINION = "manage_opinion";

    public static final String TOTAL_ASSETS = "total_assets";

    public static final String OTHER_DEBTS = "other_debts";

    public static final String TOTAL_DEBTS = "total_debts";

    public static final String DEBT_TO_ASSETS = "debt_to_assets";

    public static final String REMARKS = "remarks";

    public static final String RECOMMEND_CODE = "recommend_code";

    public static final String ALLOW_RETRIAL = "allow_retrial";

    public static final String KEQUN_CODE_LIST = "kequn_code_list";

    public static final String REAL_NAME_FLAG = "real_name_flag";

    public static final String LIVE_HOUSE_TYPE = "live_house_type";

    public static final String AGREE_BANK_CARD_AGRE = "agree_bank_card_agre";

    public static final String BANK_CARD_AGRE_PATH = "bank_card_agre_path";

    public static final String BANK_CARD_INIT_PASSWORD = "bank_card_init_password";

    public static final String BANK_CARD_ID = "bank_card_id";

    public static final String AGREE_CREDIT_QUERY_AGRE = "agree_credit_query_agre";

    public static final String AGREE_APPLY_AGRE = "agree_apply_agre";

    public static final String APPLY_AGRE_PATH = "apply_agre_path";

    public static final String IS_NEED_MORE_DATA = "is_need_more_data";

    public static final String ADD_DATA_CARD_STATE = "add_data_card_state";

    public static final String ADD_DATA_BANK_STATE = "add_data_bank_state";

    public static final String ADD_DATA_OTHER_STATE = "add_data_other_state";

    public static final String APP_USER_ID = "app_user_id";

    public static final String STEP = "step";

    public static final String USE_CARD_TYPE = "use_card_type";

    public static final String HAS_SIGN_APPLY_AGRE = "has_sign_apply_agre";

    public static final String HAS_SIGN_BANK_CARD_AGRE = "has_sign_bank_card_agre";

    public static final String IS_OFFER_HOUSE = "is_offer_house";

    public static final String IS_OFFER_CAR = "is_offer_car";

    public static final String IS_OFFER_OTHER_PROVE = "is_offer_other_prove";

    public static final String LOANS_CREDIT_DEBTS = "loans_credit_debts";

    public static final String GUARANTEE_ACCOUNTS = "guarantee_accounts";

    public static final String CREDIT_DEBTS = "credit_debts";

    public static final String LOAN_DEBTS = "loan_debts";

    public static final String SPOUSE_LOANS_CREDIT_DEBTS = "spouse_loans_credit_debts";

    public static final String SPOUSE_CREDIT_DEBTS = "spouse_credit_debts";

    public static final String SPOUSE_LOAN_DEBTS = "spouse_loan_debts";

    public static final String SPOUSE_GUARANTEE_ACCOUNTS = "spouse_guarantee_accounts";

    public static final String IS_RETRIAL = "is_retrial";

    public static final String REFERRER_INFORMATION = "referrer_information";

    public static final String GRADE = "grade";

    public static final String APPRAISE = "appraise";

    public static final String CHOOSE_BRANCH = "choose_branch";

    public static final String CUST_MGR_ID = "cust_mgr_id";

    public static final String CUST_MGR_NAME = "cust_mgr_name";

    public static final String IS_FACE = "is_face";

    public static final String TASK_TYPE = "task_type";

    public static final String RAISE_AMOUNT_REMARK = "raise_amount_remark";

    public static final String ACT_STATUS = "act_status";

    public static final String RECOMMEND_AMOUNT = "recommend_amount";

    public static final String REITERATE_REASON = "reiterate_reason";

}
